package cn.jji8.patronSaint.quick.boxesMenu;

import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;

/**
 * 处理点击事件的接口，实现后由menuManger调用
 * */
public interface ClickImplement {
    /**
     * 处理点击事件的方法，实现后由menuManger调用
     * */
    @SuppressWarnings({"unused", "EmptyMethod"})
    default void click(InventoryClickEvent e){
        e.setCancelled(true);
    }
    /**
     * 当玩家打开这个菜单时调用的方法，实现后由menuManger调用，用于玩家进行其他操作后重新打开菜单时刷新界面。在玩家打开界面之前。
     * @param player 打开菜单的玩家
     * @param menu 所在的界面
     * @param position 所在的位置
     * */
    @SuppressWarnings({"unused", "EmptyMethod"})
    default void open(Player player,Inventory menu,int position){}
    /**
     * 当玩家关闭菜单的时候调用
     * @param player 打开菜单的玩家
     * @param menu 所在的界面
     * @param position 所在的位置
     * */
    @SuppressWarnings({"unused", "EmptyMethod"})
    default void close(Player player, Inventory menu, int position){}
}
